#include "types.h"
#include <iostream>



// Unsigned integer van 1 tot 4 bytes groot lezen uit een buffer
unsigned long readUnsignedInteger(unsigned char* data, int bytes)
{

	//printf("###############\n");
	//cout << data << endl;
	//ptintf("Bytes: %d\n", bytes);
	//printf("###############\n");
    //assert(bytes >= 0 && bytes <= 4);

    unsigned long integer = 0;

    for(unsigned int i=0; i<bytes; i++)
    {
        integer <<= 8;
        integer  |= data[i];
    }

    /*
    for(int i = bytes - 1; i >= 0; i--) {
        integer <<= 8;
        integer  |= data[i];
    }
    */

    return integer;
}

// Unsigned integer van 1 tot 4 bytes groot schrijven naar een buffer
void writeUnsignedInteger(unsigned char* data, int bytes, unsigned long value)
{
    //assert(bytes >= 0 && bytes <= 4);

    for(unsigned int i=0; i<bytes; i++)
    {
        data[i]  = (value >> ((bytes - i - 1) * 8)) & 0xff;

    }
}
